The present invention relates generally to a system for generating an intelligent agent. More particularly, the present invention relates to such a system wherein a computer-based workbench for developing an intelligent agent in a complex domain is provided, where the workbench is based on the notion of developing the agent from a cognitive model of human experts performing the tasks to be assigned to the agent.
As is known, computers are increasingly being introduced as the vehicle for work, particularly information-based work which has traditionally been performed by manual methods. Computerization of the working environment has created many problems for new computer users, especially inasmuch as the user must possess a requisite amount of computer-system knowledge and skills as well as domain knowledge and skills, and the requisite computer-system knowledge and skills may very well be more substantial than the domain knowledge and skills. It has been suggested that the computer itself and specifically the human-computer interface (HCI) can and should help solve these problems.
Research has begun to create components of the user interface, called xe2x80x98agentsxe2x80x99 or xe2x80x98intelligent agentsxe2x80x99, that act to assist the human being in applying the functional capabilities of computer systems. Such agents can provide at least three main benefits to human operators of highly complex systems: (1) reducing the amount of interaction between human and system, particularly at the most detailed level, so that the human operator needs to devote less attention to low level syntax and/or interface details, and can instead focus on the overall situation and supervisory control; (2) freeing a human for other concerns and activities that humans are uniquely good at, including decision-making, situation assessment, goal-setting, etc.; and (3) reducing a user""s requirements for training and knowledge, allowing the human operator to devote more training on domain knowledge and skills and less on computer-system knowledge and skills. Such agents are therefore able to operate autonomously within a software system and are able to perform complex tasks that normally require human intelligence.
However, to date, most research on intelligent agents has focused on applications such as electronic-mail management or electronic purchasing. Such applications are xe2x80x98horizontalxe2x80x99 in that they cut across many domains. Less research, particularly at a general or methodological level, has been devoted to intelligent agents for complex, domain-specific tasks. Such domain specific tasks form xe2x80x98verticalxe2x80x99 applications in that they are focused on a specific domain. Intelligent agent concepts and technology would be highly beneficial in vertical applications, perhaps even more so than in horizontal applications.
However, a major obstacle to development of intelligent agents in vertical applications is that such vertical applications are by their very nature highly complex and closely tied to specific task domains. Unlike horizontal applications, intelligent agents in vertical applications require substantial amounts of domain-specific and task-specific knowledge in order to be able to operate at a level of competence rivaling that of a human being. As should be understood, then, agent development can potentially be lengthy and costly. In addition, vertical applications are more numerous and yet limited in the number of end-users, with the result that the development cost per user can be high. A need exists, then, for a way of removing this obstacle.
In a preferred embodiment of the present invention, the aforementioned need is satisfied by a computer-based intelligent agent workbench for developing a computer-based intelligent agent in a complex domain or system, where the intelligent agent interfaces between the system and an individual performing a pre-defined function in connection with the system The workbench is based on the notion of developing an agent from a cognitive model of human experts performing the tasks to be assigned to the agent.
In the workbench, an intelligent agent authoring tool allows a workbench user to create and edit an intelligent agent in a higher-level graphical representation. The workbench also has an execution engine tool for executing a lower-level non-graphical representation of the intelligent agent both within the workbench and outside the workbench as a stand-alone intelligent agent, and an interpreter tool for automatically translating between the lower-level non-graphical representation of the intelligent agent and the higher-level graphical representation of the intelligent agent.
The intelligent agent itself has an instance structure representative of a current problem domain, a plurality of perception structures, a plurality of task performance structures, and a priority structure. Each perception structure is representative of information that must be perceived from the system, and includes sub-structures for obtaining information from the system and for updating the instance structure with the obtained information.
Each task performance structure is representative of a task the intelligent agent can be called on to perform, and includes sub-structures for accessing the instance structure to obtain instance information, for modifying instance information in the instance structure, and for determining a priority for the task performance structure and notifying the instance structure of the determined priority. Each task performance structure has a triggering condition for triggering the task performance structure, where the triggering condition is based on a current state of the instance structure as updated by the perception structures. The priority structure determines priority among conflicting demands for attention by multiple task performance structures based on the respective determined priorities thereof.